package com.jinzhi.jzweb.controller.userapi;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * @author mengzhichao
 * @create 2024-05-14-9:33
 */
public class GroupProdTest {

    private int orderId;
    private boolean isExpired;

    public GroupProdTest(int orderId) {
        this.orderId = orderId;
        this.isExpired = false;
    }

    // 订单到期时执行的操作
    private void expireOrder() {
        System.out.println("订单 " + orderId + " 已过期！");
    }

    // 方法用于设置倒计时并自动结束订单
    public void setCountdownAndExpire(int countdownSeconds) {
        // 计算到期时间
        Date currentTime = new Date();
        long expireTimeMillis = currentTime.getTime() + (countdownSeconds * 1000); // 将秒转换为毫秒
        Date expireTime = new Date(expireTimeMillis);

        // 设置定时器，在到期时间时自动结束订单
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                expireOrder();
            }
        }, expireTime);
    }



    public static void main(String[] args) {
        // 创建一个拼团订单
        GroupProdTest groupOrder = new GroupProdTest(1);

        // 设置倒计时并自动结束订单（倒计时时间为60秒）
        groupOrder.setCountdownAndExpire(10);

        // 这里可以做其他操作，订单会在倒计时结束后自动过期
    }
}


